using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace SCHD
{
    public partial class WFTip_Mant : TDV.Controles.Base.WinForm.BaseForm_Tipo01
    {
        LBTipo TipoMod = new LBTipo();
        protected string codigo = "";
        #region Constructor
        public WFTip_Mant()
        {
            InitializeComponent();
        }
        public WFTip_Mant(string Codigo)
            :this()
        {
            codigo = Codigo;
        }
        #endregion       

        private void WFTip_Mant_Load(object sender, EventArgs e)
        {
            Cargar();
            btnAdicionar.Enabled = false;
            txtCodigo.CharacterCasing = CharacterCasing.Upper;
            txtDescripcion.CharacterCasing = CharacterCasing.Upper;
            this.KeyPreview = true;
        }
        protected void Cargar()
            {
                LBTipo Tipo = new LBTipo();
                Tipo.Filtros.CodigoCategoria = codigo;
                Tipo.Buscar();
                dgTipo.DataSource = Tipo;
            }

        private void btnAdicionar_Click(object sender, EventArgs e)
        {
            try
            {
            EBTipo Tipo = new EBTipo();
            Tipo.CodigoCategoria = codigo;
            if (txtCodigo.Text.Length > 0 && txtCodigo.Text.Length > 0)
            {
                Tipo.Codigo = txtCodigo.Text;
                Tipo.DescripcionTipo = txtDescripcion.Text;
                Tipo.Grabar();
                Cargar();

                txtCodigo.Text = "";
                txtDescripcion.Text = "";
            }
            else
            {
                MessageBox.Show("Debe ingresar un tipo");
            }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
        }

        private void btnQuitar_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in dgTipo.Rows)
            {
                DataGridViewCheckBoxCell ck1 = row.Cells[0] as DataGridViewCheckBoxCell;

                //CheckBox ck = (CheckBox)row.Cells[0].Value;
                if (Convert.ToBoolean(ck1.Value))
                {
                    try
                    {
                        EBTipo tipo = new EBTipo();
                        tipo.CodigoCategoria = codigo;
                        tipo.CodigoTipo = row.Cells[1].Value.ToString();
                        tipo.Eliminar();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
            Cargar();
        }

        private void txtDescripcion_TextChanged(object sender, EventArgs e)
        {
            if (txtCodigo.Text.Length > 0 && txtDescripcion.Text.Length > 0)
            {
                btnAdicionar.Enabled = true;
            }
            else
            {
                btnAdicionar.Enabled = false;
            }
        }

        private void txtCodigo_TextChanged(object sender, EventArgs e)
        {
            if (txtCodigo.Text.Length > 0 && txtDescripcion.Text.Length > 0)
            {
                btnAdicionar.Enabled = true;
            }
            else
            {
                btnAdicionar.Enabled = false;
            }
        }
        private void WFTip_Mant_KeyPress(object sender, KeyPressEventArgs e)
        {
           // this.OnKeyPress(e);

            if (e.KeyChar == (char)Keys.Escape)
               //  MessageBox.Show("Ha presionado ESCAPAR");
                DialogResult = DialogResult.Cancel;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            foreach (EBTipo __Tipo in TipoMod)
            {
                __Tipo.Grabar();
            }
            TipoMod.Clear();
            DialogResult = DialogResult.OK;
        }

        private void dgTipo_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (dgTipo.Columns[e.ColumnIndex].Name != null)
            {
                // Se toma la fila seleccionada 
                if (e.RowIndex > -1)
                {
                    DataGridViewRow row = dgTipo.Rows[e.RowIndex];
                    string Codigo = row.Cells[1].Value.ToString();
                    EBTipo Tipo_ = new EBTipo();
                    Tipo_.CodigoCategoria= codigo;
                    Tipo_.CodigoTipo = row.Cells[1].Value.ToString();
                    Tipo_.Codigo = row.Cells[2].Value.ToString();
                    Tipo_.DescripcionTipo = row.Cells[3].Value.ToString();                   
                    TipoMod.Nuevo(Tipo_);
                }

            }
        }

        //private void InitializeComponent()
        //{
        //    ((System.ComponentModel.ISupportInitialize)(this.ControlError)).BeginInit();
        //    this.SuspendLayout();
        //    // 
        //    // WFTip_Mant
        //    // 
        //    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        //    this.ClientSize = new System.Drawing.Size(480, 289);
        //    this.Name = "WFTip_Mant";
        //    this.Load += new System.EventHandler(this.WFTip_Mant_Load_1);
        //    ((System.ComponentModel.ISupportInitialize)(this.ControlError)).EndInit();
        //    this.ResumeLayout(false);

        //}

    }
}

